Go Chase It!

Basic Requirements

Criteria Meet Specification

Does the submission include the my_robot and the ball_chaser ROS packages?

The student submitted all required files specified in the criteria.

Do these packages follow the directory structure detailed in the project description section?

The student followed the same directory structure detailed in the project description section.

Robot Design

Criteria Meet Specification

Does the submission include a design for a differential drive robot, using the Unified Robot Description Format?

Robot design requirements:

  • Lidar and camera sensors.
  • Gazebo plugins for the robot’s differential drive, lidar, and camera.
  • Housed inside the world
  • Significant changes from the sample taught in the project lesson.
  • Robot is stable when moving

Gazebo World

Criteria Meet Specification

Does the my_robot ROS package contain the Gazebo world?

Gazebo world requirements:

  • Same as the world designed in the Build My World project or a new world that you design on the building editor for this project.
  • Includes a white-colored ball

Ball Chasing

Criteria Meet Specification

Does the ball_chaser ROS package contain two C++ ROS nodes to interact with the robot and make it chase a white-colored ball?

drive_bot requirements:

  • A ball_chaser/command_robot service.
  • Service accepts linear x and angular z velocities.
  • Service publishes to the the wheel joints.
  • Service returns the requested velocities.

process_image requirements:

  • Subscribes to the robot’s camera image.
  • A function to analyze the image and determine the presence and position of a white ball.
  • Requests a service to drive the robot towards a white ball (when present).

Launch Files

Criteria Meet Specification

Does the submission include world.launch and ball_chaser.launch files that launch all the nodes in this project?

world.launch requirements:

  • Launch the world (which includes a white ball).
  • Launch the robot.

ball_chaser.launch requirements:

  • Run the drive_bot C++ node.
  • Run the process_image C++ node.

Tips to make your project standout:

Stand out submissions should have skid-steer robots designs or robots that can chase balls of any color.